The present invention relates to an apparatus and a program which, by using a design model as an input in each processing step in a processing flow described in UML (Unified Modeling Language), automatically derive from the design model a mathematical model for quantitative performance evaluation, the design model being annotated with respect to basic performance indices.
For the purpose of estimating and verifying quantitative quality of a system, several formal techniques, such as a timed stochastic Petri net, and a timed stochastic process algebra, have been established. A Petri net and a process algebra are both formal techniques capable of naturally expressing a control flow such as software. For each of these techniques, a plurality of extensions, to which information regarding processing time is added, have been proposed. Analytical techniques on the basis of mathematical formalizations have been established based on these extended descriptions, the mathematical formalizations including: a stochastic process such as a Markov chain; and a timed automaton. Thereby, tools applicable to performance evaluation for a system have been developed.
Apart from the aforementioned formal techniques, a UML extension specification called “UML Profile for Schedulability, Performance and Time (UML-SPT)” has been standardized in the OMG (Object Management Group). This is a specification for describing annotations regarding a processing time and performance. By performing relatively formal and uniform descriptions regarding estimation of a necessary processing time, and regarding other performance indices for an entire system or for a particular processing step by use of annotations complying with UML-SPT, reciprocal communications on these pieces of information can be encouraged among developers.
As existing studies related thereto, in each of the following documents: S. Gilmore and L. Kloul, “A unified approach to performance modeling and verification,” May 2003, a paper presented at Dagstuhl seminar on “Probabilistic Methods in Verification and Planning”; and C. Canevet et al., “Analysing UML 2.0 activity diagrams in the software performance engineering process,” in Proc. 4th Intl. Workshop on Soft. and Perf., pages 74 to 78, 2004, a performance evaluation model based on the process algebra is automatically derived from a state diagram, and an activity diagram, of UML. In each of these techniques, however, only a method of deriving one evaluation model from one diagram is mentioned, and an activity expressed by linkage of a plurality of diagrams is not taken into consideration. In each of the following three documents: Simona Bernardi et al., “From UML sequence diagrams and statecharts to analysable petri netmodels” in Proc. 3rd Intl. Workshop on Software and Performance, pages 35 to 45, 2002; Juan Pablo López Grao et al., “From UML activity diagrams to stochastic petri nets: application to software performance engineering,” SIGSOFT Softw. Eng. Notes, 29(1), 2004; and José Merseguer and Javier Campos, “Exploring roles for the UML diagrams in software performance engineering,” in Proc. 2003 Intl. Conf. on Software Engineering Research and Practice (SERP'03), pages 43 to 47, June 2003, InternalNote: Submitted by: jcampos@unizar.es, a transformation technique into a Petri net is described, the transformation technique taking linkage among an activity diagram, a state diagram, a use case diagram, and the like into consideration. In this technique, a relation of linkage such as that “an activity diagram A calls an activity diagram B” is expressed as a connection of topologies of the Petri net. In this technique, however, behavior of an activity being called cannot express a case, such as a function call, which depends on parameters given by a side calling the other. Additionally, while it is a generally practice in actual system developing processes that a plurality of constituent elements which behave alike are expressed with a relation of “a class and instances”, such a relation cannot be expressed in this technique.
While Japanese Patent Official Gazette No.2001-318812 relates to a technique whereby a performance evaluation model is automatically derived from an annotated UML model, it has a problem that, since it takes only class diagrams and part of sequence diagrams into consideration, the performance model is not made into details. Additionally, this problem involves a risk of bringing about a state where behavior of the UML model is not consistent with behavior of the derived performance evaluation model. In order to correct this state, it is required for an engineer to perform work such as addition of parameters.
In order for an engineer, who has no expert knowledge, to make performance evaluation based on UML, the engineer requires a technique whereby a performance evaluation model is automatically derived from a UML model. Additionally, because component-based modeling using classes is generally practiced in actual developing processes using UML, such actual developing processes have to be taken into consideration. Use of modeling based on UML and use of annotations based on UML-SPT and the like are considered advantageous. In the specification of UML-SPT, however, while locations and a format in describing annotations are determined, strict meanings of the annotations are not defined. Therefore, it is not necessarily possible to obtain performance evaluation from added annotations.